﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using STS.Schema.Interfaces;
using System.Collections.ObjectModel;
using STS.Schema.Enums;
using System.Collections;

namespace STS.Interfaces
{
    public interface ISqlObjectCollection : IList, ICollection, IEnumerable
    {
        void Refresh();
        string GetCollectionQuery(SqlObjectType? sqlObjectType = null, IDatabase database = null);
        TSqlObject GetObject<TSqlObject>(string name, IDatabase database = null) where TSqlObject : ISqlObject;
        TSqlObject GetObject<TSqlObject>(int index, IDatabase database = null) where TSqlObject : ISqlObject;
    }
}
